package com.jfzt.common;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 映射文档结果对象
 * @author: shunpeng.hu
 * @date: 2024/1/18 17:13
 */
public class ResultDocument<T> implements Serializable {

    private static final long serialVersionUID = -5764853545343945831L;

    private String kcAdmin;

    private String kcRealm;

    private String kcClient;

    private String RequestBody;

    private T data;

    private String BusinessDescription;

    private String BusinessType;

    private String kcUri;

    private LocalDateTime requestDate;

    private String responseBody;

    private LocalDateTime ResponseDate;

    private Long ResponseCode;

    private String RequestConsumed;

    private String timeConsumed;

    private String queryParam;

    private String method;

    private String FromHostPort;

    private String ToOriginPort;

    /**
     * 默认构造函数
     */
    public ResultDocument(){

    }

    /**
     * 有参构造
     */
    public ResultDocument(String kcAdmin, String kcRealm, String kcClient, String requestBody, T data, String businessDescription, String businessType, String kcUri, LocalDateTime requestDate, String responseBody, LocalDateTime responseDate,
                          Long responseCode, String requestConsumed, String timeConsumed, String queryParam, String method, String fromHostPort, String toOriginPort) {
        this.kcAdmin = kcAdmin;
        this.kcRealm = kcRealm;
        this.kcClient = kcClient;
        RequestBody = requestBody;
        this.data = data;
        BusinessDescription = businessDescription;
        BusinessType = businessType;
        this.kcUri = kcUri;
        this.requestDate = requestDate;
        this.responseBody = responseBody;
        ResponseDate = responseDate;
        ResponseCode = responseCode;
        RequestConsumed = requestConsumed;
        this.timeConsumed = timeConsumed;
        this.queryParam = queryParam;
        this.method = method;
        FromHostPort = fromHostPort;
        ToOriginPort = toOriginPort;
    }

    public String getKcAdmin() {
        return kcAdmin;
    }

    public void setKcAdmin(String kcAdmin) {
        this.kcAdmin = kcAdmin;
    }

    public String getKcRealm() {
        return kcRealm;
    }

    public void setKcRealm(String kcRealm) {
        this.kcRealm = kcRealm;
    }

    public String getKcClient() {
        return kcClient;
    }

    public void setKcClient(String kcClient) {
        this.kcClient = kcClient;
    }

    public String getRequestBody() {
        return RequestBody;
    }

    public void setRequestBody(String requestBody) {
        RequestBody = requestBody;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public String getBusinessDescription() {
        return BusinessDescription;
    }

    public void setBusinessDescription(String businessDescription) {
        BusinessDescription = businessDescription;
    }

    public String getBusinessType() {
        return BusinessType;
    }

    public void setBusinessType(String businessType) {
        BusinessType = businessType;
    }

    public String getKcUri() {
        return kcUri;
    }

    public void setKcUri(String kcUri) {
        this.kcUri = kcUri;
    }

    public LocalDateTime getRequestDate() {
        return requestDate;
    }

    public void setRequestDate(LocalDateTime requestDate) {
        this.requestDate = requestDate;
    }

    public String getResponseBody() {
        return responseBody;
    }

    public void setResponseBody(String responseBody) {
        this.responseBody = responseBody;
    }

    public LocalDateTime getResponseDate() {
        return ResponseDate;
    }

    public void setResponseDate(LocalDateTime responseDate) {
        ResponseDate = responseDate;
    }

    public Long getResponseCode() {
        return ResponseCode;
    }

    public void setResponseCode(Long responseCode) {
        ResponseCode = responseCode;
    }

    public String getRequestConsumed() {
        return RequestConsumed;
    }

    public void setRequestConsumed(String requestConsumed) {
        RequestConsumed = requestConsumed;
    }

    public String getTimeConsumed() {
        return timeConsumed;
    }

    public void setTimeConsumed(String timeConsumed) {
        this.timeConsumed = timeConsumed;
    }

    public String getQueryParam() {
        return queryParam;
    }

    public void setQueryParam(String queryParam) {
        this.queryParam = queryParam;
    }

    public String getMethod() {
        return method;
    }

    public void setMethod(String method) {
        this.method = method;
    }

    public String getFromHostPort() {
        return FromHostPort;
    }

    public void setFromHostPort(String fromHostPort) {
        FromHostPort = fromHostPort;
    }

    public String getToOriginPort() {
        return ToOriginPort;
    }

    public void setToOriginPort(String toOriginPort) {
        ToOriginPort = toOriginPort;
    }

    @Override
    public String toString() {
        return "ResultDocument{" +
                "kcAdmin='" + kcAdmin + '\'' +
                ", kcRealm='" + kcRealm + '\'' +
                ", kcClient='" + kcClient + '\'' +
                ", RequestBody='" + RequestBody + '\'' +
                ", data=" + data +
                ", BusinessDescription='" + BusinessDescription + '\'' +
                ", BusinessType='" + BusinessType + '\'' +
                ", kcUri='" + kcUri + '\'' +
                ", requestDate=" + requestDate +
                ", responseBody='" + responseBody + '\'' +
                ", ResponseDate=" + ResponseDate +
                ", ResponseCode=" + ResponseCode +
                ", RequestConsumed='" + RequestConsumed + '\'' +
                ", timeConsumed='" + timeConsumed + '\'' +
                ", queryParam='" + queryParam + '\'' +
                ", method='" + method + '\'' +
                ", FromHostPort='" + FromHostPort + '\'' +
                ", ToOriginPort='" + ToOriginPort + '\'' +
                '}';
    }

}
